//从插件内导出createRouter,createWebHashHisory
import { createRouter , createWebHashHistory } from "vue-router";

//定义路由表【懒加载，组件在路由地址被调用的时候才会】
const routes = [
    //第一条：重定向，当访问地址为空时默认前往登录页
    {
        path : '/',
        redirect : {
            name : 'LoginCom'
        }
    },
    //后台的登录页面
    {
        path : '/login',
        name : 'LoginCom',
        component : ()=> import('@/views/admin/LoginCom.vue'),
        //设置路由守卫规则：isCheckLogin为false无需进行登录验证
        meta : { isCheckLogin : false }
    }
];

//定义路由器/创建路由器
const router = createRouter({
    //调用路由表，实现router-link的跳转以及router-view的渲染
    //routes ： routes，
    routes,

    //将路由历史模式设置为hash模式（哈希历史）
    history : createWebHashHistory(),
});
//设置全局前置路由守卫
router.beforeEach( (to,from,next)=>{
    if( !to.meta.isCheckLogin ){
        next();
    }else if( to.meta.isCheckLogin ){
        let isLogin = sessionStorage.getItem('isLogin');
        //预测未登录的情况可能为false，可能为空。也可能不存在
        if( isLogin == 'false' || isLogin == '' || !isLogin ){
            next({
                name : 'LoginCom'
            });
        }else{
            next();
        }
    }
} )

//导出路由器
export default router;